There are 2,310 SA2 areas in Australia. We excluded areas with no physical location (including 9 Migratory–Offshore–Shipping and 9 No usual address codes for each State and Territory). And 4 remote areas:
## SA2_NAME16 STE_NAME16
## 1 Lord Howe Island New South Wales
## 2 Christmas Island Other Territories
## 3 Cocos (Keeling) Islands Other Territories
## 4 Norfolk Island Other Territories
That leaves the initial set of 2,288 areas.
Raw APM dataset consists of 119,656 monthly records of 2,238 SA2 areas for 27 months from 2016-12-01to 2019-02-01.
According to APM
All data in the SA2 file is based on 12-month aggregation.
Therefore the first observation in the dataset for the 2016-12-01 actually represents data from 2016-12-01 to 2016-01-01!
Data are derived separately for houses and units. Selected rent related variables include:
## Observations: 119,656
## Variables: 7
## $ SA2_MAIN16 <dbl> 101021007, 101021007, 101021007, 101021007, 101021007...
## $ date <date> 2016-12-01, 2017-01-01, 2017-02-01, 2017-03-01, 2017...
## $ record_count <dbl> 45, 45, 48, 45, 48, 47, 43, 47, 47, 49, 47, 47, 46, 4...
## $ property_type <chr> "House", "House", "House", "House", "House", "House",...
## $ rent_50p <dbl> 330.0, 330.0, 330.0, 330.0, 330.0, 330.0, 335.0, 335....
## $ rent_25p <dbl> 290, 290, 290, 290, 290, 295, 300, 300, 300, 300, 300...
## $ rent_75p <dbl> 365, 360, 365, 365, 365, 370, 375, 380, 380, 375, 380...
There are 51 SA2 areas that do not exist in APM data at all
Most seem legit as they mainly consists of natural or military areas, airports, etc. They were excluded from further analyses.
Not all SA2s have information for all months. 21,292 of the records (18%) have missing information on monthly median rent.
There are 123 SA2 areas that do not have any APM data for houses
These areas are excluded.
There are 519 SA2 areas that do not have any APM data for units
These areas are excluded.
There are 24 SA2 areas that have missing 12 or more months of APM data or have 6 or more consecutive months of APM data missing for houses
These areas are excluded.
There are 187 SA2 areas that have missing 12 or more months of APM data or have 6 or more consecutive months of APM data missing for units
These areas are excluded.
There are 24 SA2 areas that have some missing APM data for houses
These areas have data imputed.
There are 94 SA2 areas that have some missing APM data for units
These areas have data imputed.
Data imputed using Stineman interpolation using na_interpolation function from imputeTS package.
Clean APM dataset consists of 56,430 monthly records of house rents in2,090 SA2 areas and 41,337 monthly records of unit rents in1,531 SA2 areas.
State on 2019-02-01
State on 2019-02-01
Stocks of houses and units were derived from 2016 Census for all areas with APM data.
These were created counting dwellings that were private (Occupied private dwellings and Unoccupied private dwellings from the DWTD Dwelling Type variable) and then divided into houses and apratments uing STRD Dwelling Structure variable with:
Separate house, Semi-detached, row or terrace house, townhouse etc. with one storey and Semi-detached, row or terrace house, townhouse etc. with two or more storeys representing houses
Flat or apartment in a one or two storey block, Flat or apartment in a three storey block, Flat or apartment in a four or more storey block, Flat or apartment attached to a house representing units
Note: there are 25 SA2s with zero ABS units, but available APM rental units!
| SA2_NAME16 | min | mean | max |
|---|---|---|---|
| Bateman | 14 | 20.259259 | 24 |
| Beaconsfield - Officer | 9 | 14.444444 | 20 |
| Brassall | 112 | 128.666667 | 159 |
| Calwell | 7 | 13.888889 | 19 |
| College Grove - Carey Park | 44 | 57.407407 | 66 |
| Coober Pedy | 9 | 13.481481 | 16 |
| Craigie - Beldon | 14 | 17.296296 | 20 |
| Dingley Village | 11 | 16.111111 | 19 |
| Edens Landing - Holmview | 28 | 35.888889 | 49 |
| Endeavour Hills - South | 14 | 18.888889 | 25 |
| Lawson | 6 | 49.518518 | 78 |
| Leeming | 11 | 14.111111 | 17 |
| Loganholme - Tanah Merah | 20 | 24.666667 | 28 |
| Marangaroo | 8 | 10.481481 | 13 |
| Mount Dandenong - Olinda | 6 | 9.962963 | 14 |
| Murrumba Downs - Griffin | 144 | 178.888889 | 250 |
| Narangba | 11 | 19.185185 | 28 |
| Ngunnawal | 40 | 48.444444 | 57 |
| Padbury | 14 | 19.333333 | 24 |
| Quoiba - Spreyton | 8 | 12.000000 | 16 |
| Reedy Creek - Andrews | 21 | 25.481482 | 31 |
| Ripley | 7 | 16.148148 | 24 |
| Rosedale | 2 | 9.444444 | 13 |
| Seabrook | 10 | 11.851852 | 16 |
| Wakerley | 23 | 30.222222 | 40 |
Discrepancies between APM and ABS stocks
| SA2_NAME16 | property_type | abs_supply | max_record_count | apm_surplus |
|---|---|---|---|---|
| North Ryde - East Ryde | Unit | 364 | 692 | 328 |
| Dakabin - Kallangur | Unit | 72 | 368 | 296 |
| Murrumba Downs - Griffin | Unit | 0 | 250 | 250 |
| Toowoomba - West | Unit | 28 | 251 | 223 |
| Brassall | Unit | 0 | 159 | 159 |
| Lavington | Unit | 217 | 372 | 155 |
| Eimeo - Rural View | Unit | 26 | 180 | 154 |
| Albury - North | Unit | 32 | 173 | 141 |
| Asquith - Mount Colah | Unit | 175 | 314 | 139 |
| Redbank Plains | Unit | 41 | 180 | 139 |
| Shepparton - North | Unit | 66 | 200 | 134 |
| Cambooya - Wyreema | Unit | 3 | 133 | 130 |
| Rouse Hill - Beaumont Hills | Unit | 140 | 268 | 128 |
| Upper Coomera - Willow Vale | Unit | 8 | 130 | 122 |
| Pimpama | Unit | 4 | 118 | 114 |
| Muswellbrook | Unit | 49 | 158 | 109 |
| Pacific Pines - Gaven | Unit | 4 | 111 | 107 |
| Highton | Unit | 52 | 148 | 96 |
| Werribee - East | Unit | 34 | 130 | 96 |
| Rangeville | Unit | 17 | 113 | 96 |
| Tullamarine | Unit | 8 | 102 | 94 |
| Calamvale - Stretton | Unit | 18 | 111 | 93 |
| North Toowoomba - Harlaxton | Unit | 57 | 146 | 89 |
| Busselton | Unit | 57 | 144 | 87 |
| Flora Hill - Spring Gully | Unit | 41 | 126 | 85 |
| East Mackay | Unit | 19 | 104 | 85 |
| Bellbird Park - Brookwater | Unit | 21 | 104 | 83 |
| Burpengary | Unit | 12 | 94 | 82 |
| Boronia Heights - Park Ridge | Unit | 7 | 87 | 80 |
| Caloundra - West | Unit | 32 | 112 | 80 |
| Viewbank - Yallambie | Unit | 14 | 93 | 79 |
| Lawson | Unit | 0 | 78 | 78 |
| Wodonga | Unit | 129 | 205 | 76 |
| Tamworth - East | Unit | 190 | 265 | 75 |
| Belmont | Unit | 98 | 172 | 74 |
| Kellyville | Unit | 120 | 193 | 73 |
| Ringwood East | Unit | 188 | 259 | 71 |
| College Grove - Carey Park | Unit | 0 | 66 | 66 |
| Palmerston - South | Unit | 52 | 118 | 66 |
| Hastings - Somers | Unit | 47 | 112 | 65 |
| Strathmore | Unit | 27 | 88 | 61 |
| Croydon Hills - Warranwood | Unit | 6 | 67 | 61 |
| Laverton | Unit | 43 | 104 | 61 |
| Peregian Springs | Unit | 22 | 83 | 61 |
| Coombabah | Unit | 7 | 67 | 60 |
| Larapinta | Unit | 22 | 80 | 58 |
| Newcomb - Moolap | Unit | 69 | 126 | 57 |
| Ngunnawal | Unit | 0 | 57 | 57 |
| Epping - South | Unit | 24 | 79 | 55 |
| Manly West | Unit | 20 | 74 | 54 |
| Goodna | Unit | 21 | 75 | 54 |
| Mount Warren Park | Unit | 6 | 59 | 53 |
| East Bendigo - Kennington | Unit | 79 | 131 | 52 |
| Jimboomba | Unit | 4 | 56 | 52 |
| Pakenham - South | Unit | 27 | 78 | 51 |
| Croydon - West | Unit | 41 | 91 | 50 |
| Edens Landing - Holmview | Unit | 0 | 49 | 49 |
| Banjup | Unit | 5 | 54 | 49 |
| Newnham - Mayfield | Unit | 18 | 67 | 49 |
| Raymond Terrace | Unit | 64 | 112 | 48 |
| Colac | Unit | 39 | 86 | 47 |
| Springfield Lakes | Unit | 3 | 49 | 46 |
| Salisbury North | Unit | 10 | 56 | 46 |
| Morphett Vale - East | Unit | 39 | 85 | 46 |
| Maryland - Fletcher - Minmi | Unit | 17 | 62 | 45 |
| Melton | Unit | 14 | 59 | 45 |
| Kingston (Qld.) | Unit | 49 | 94 | 45 |
| Morayfield - East | Unit | 6 | 51 | 45 |
| Kirwan - West | Unit | 27 | 72 | 45 |
| Eaton - Pelican Point | Unit | 10 | 55 | 45 |
| Wantirna | Unit | 3 | 47 | 44 |
| Mooroolbark | Unit | 29 | 72 | 43 |
| Albury - East | Unit | 143 | 184 | 41 |
| Knoxfield - Scoresby | Unit | 10 | 51 | 41 |
| Albany | Unit | 65 | 106 | 41 |
| Wakerley | Unit | 0 | 40 | 40 |
| Cashmere | Unit | 3 | 43 | 40 |
| Clarkson | Unit | 30 | 70 | 40 |
| Hallam | Unit | 3 | 42 | 39 |
| Leichhardt - One Mile | Unit | 37 | 75 | 38 |
| Woodridge | Unit | 151 | 189 | 38 |
| The Hills District | Unit | 28 | 66 | 38 |
| Windsor - Bligh Park | Unit | 77 | 114 | 37 |
| Somerville | Unit | 3 | 40 | 37 |
| Raceview | Unit | 42 | 79 | 37 |
| Highfields | Unit | 4 | 41 | 37 |
| Geraldton - East | Unit | 14 | 51 | 37 |
| Latrobe | Unit | 6 | 43 | 37 |
| Riverstone - Marsden Park | Unit | 14 | 50 | 36 |
| Collinsville | Unit | 10 | 46 | 36 |
| Deeragun | Unit | 27 | 63 | 36 |
| Bonython | Unit | 14 | 50 | 36 |
| Murarrie | Unit | 34 | 69 | 35 |
| Crestmead | Unit | 3 | 38 | 35 |
| Palmerston | Unit | 4 | 39 | 35 |
| Runcorn | Unit | 52 | 86 | 34 |
| Ooralea - Bakers Creek | Unit | 4 | 38 | 34 |
| Bald Hills | Unit | 3 | 36 | 33 |
| Aitkenvale | Unit | 69 | 102 | 33 |
| Sunnybank | Unit | 21 | 53 | 32 |
| Cobbitty - Leppington | Unit | 17 | 48 | 31 |
| Norman Gardens | Unit | 117 | 148 | 31 |
| Reedy Creek - Andrews | Unit | 0 | 31 | 31 |
| Mount Barker | Unit | 50 | 81 | 31 |
| Balcatta - Hamersley | Unit | 29 | 60 | 31 |
| Monash | Unit | 3 | 34 | 31 |
| Wynyard | Unit | 7 | 37 | 30 |
| Airport West | Unit | 67 | 96 | 29 |
| Gisborne | Unit | 4 | 33 | 29 |
| Riverton - Shelley - Rossmoyne | Unit | 50 | 79 | 29 |
| Boulder | Unit | 26 | 55 | 29 |
| Hampton Park - Lynbrook | Unit | 48 | 76 | 28 |
| Mooroopna | Unit | 37 | 65 | 28 |
| Park Avenue | Unit | 38 | 66 | 28 |
| Loganholme - Tanah Merah | Unit | 0 | 28 | 28 |
| Narangba | Unit | 0 | 28 | 28 |
| Wyndham Vale | Unit | 20 | 47 | 27 |
| Kalamunda - Maida Vale - Gooseberry Hill | Unit | 5 | 32 | 27 |
| Carina Heights | Unit | 127 | 153 | 26 |
| Kalgoorlie - North | Unit | 38 | 64 | 26 |
| Endeavour Hills - South | Unit | 0 | 25 | 25 |
| Bundoora - West | Unit | 37 | 61 | 24 |
| Coomera | Unit | 155 | 179 | 24 |
| Ripley | Unit | 0 | 24 | 24 |
| Padbury | Unit | 0 | 24 | 24 |
| Bateman | Unit | 0 | 24 | 24 |
| Warnervale - Wadalba | Unit | 3 | 26 | 23 |
| Churchill - Yamanto | Unit | 5 | 27 | 22 |
| Morphett Vale - West | Unit | 18 | 40 | 22 |
| Duncraig | Unit | 8 | 30 | 22 |
| Greenwood - Warwick | Unit | 4 | 26 | 22 |
| Amaroo | Unit | 5 | 27 | 22 |
| Nicholls | Unit | 6 | 28 | 22 |
| Truganina | Unit | 29 | 50 | 21 |
| Browns Plains | Unit | 20 | 41 | 21 |
| Ross | Unit | 7 | 28 | 21 |
| Lara | Unit | 37 | 57 | 20 |
| Beaconsfield - Officer | Unit | 0 | 20 | 20 |
| Craigie - Beldon | Unit | 0 | 20 | 20 |
| Girrawheen | Unit | 11 | 31 | 20 |
| Coogee | Unit | 3 | 23 | 20 |
| Mount Annan - Currans Hill | Unit | 5 | 24 | 19 |
| South Morang (North) | Unit | 3 | 22 | 19 |
| Dingley Village | Unit | 0 | 19 | 19 |
| Marsden | Unit | 84 | 103 | 19 |
| Heatley | Unit | 23 | 42 | 19 |
| Morley | Unit | 49 | 68 | 19 |
| Calwell | Unit | 0 | 19 | 19 |
| Wagga Wagga - North | Unit | 21 | 39 | 18 |
| Ferntree Gully (South) - Upper Ferntree Gully | Unit | 34 | 52 | 18 |
| Bundaberg Region - North | Unit | 12 | 30 | 18 |
| Margaret River | Unit | 21 | 39 | 18 |
| Woodend | Unit | 9 | 26 | 17 |
| Parkinson - Drewvale | Unit | 3 | 20 | 17 |
| Kelso | Unit | 14 | 31 | 17 |
| Leeming | Unit | 0 | 17 | 17 |
| Meadow Heights | Unit | 50 | 66 | 16 |
| Seabrook | Unit | 0 | 16 | 16 |
| Melton West | Unit | 30 | 46 | 16 |
| Bli Bli | Unit | 15 | 31 | 16 |
| Nairne | Unit | 3 | 19 | 16 |
| Golden Grove | Unit | 3 | 19 | 16 |
| Coober Pedy | Unit | 0 | 16 | 16 |
| Forrestfield - Wattle Grove | Unit | 4 | 20 | 16 |
| Sorell - Richmond | Unit | 15 | 31 | 16 |
| Quoiba - Spreyton | Unit | 0 | 16 | 16 |
| Watsonia | Unit | 19 | 34 | 15 |
| Mill Park - South | Unit | 22 | 37 | 15 |
| Mulgrave | Unit | 41 | 56 | 15 |
| Busselton Region | Unit | 14 | 29 | 15 |
| Anna Bay | Unit | 8 | 22 | 14 |
| Macquarie Fields - Glenfield | Unit | 41 | 55 | 14 |
| Leopold | Unit | 10 | 24 | 14 |
| Ringwood North | Unit | 12 | 26 | 14 |
| Lilydale - Coldstream | Unit | 68 | 82 | 14 |
| Mount Dandenong - Olinda | Unit | 0 | 14 | 14 |
| Clarinda - Oakleigh South | Unit | 28 | 42 | 14 |
| Parkhurst - Kawana | Unit | 54 | 68 | 14 |
| Geraldton - South | Unit | 15 | 29 | 14 |
| Claymore - Eagle Vale - Raby | Unit | 7 | 20 | 13 |
| Rosedale | Unit | 0 | 13 | 13 |
| Vermont | Unit | 39 | 52 | 13 |
| Koo Wee Rup | Unit | 3 | 16 | 13 |
| Svensson Heights - Norville | Unit | 49 | 62 | 13 |
| Madeley - Darch - Landsdale | Unit | 3 | 16 | 13 |
| Marangaroo | Unit | 0 | 13 | 13 |
| Skye - Sandhurst | Unit | 4 | 16 | 12 |
| Arundel | Unit | 41 | 53 | 12 |
| Inala - Richlands | Unit | 106 | 118 | 12 |
| Beerwah | Unit | 38 | 50 | 12 |
| Pinjarra | Unit | 6 | 18 | 12 |
| Bonner | Unit | 13 | 25 | 12 |
| Murray Bridge | Unit | 70 | 81 | 11 |
| Florey | Unit | 16 | 27 | 11 |
| Hadfield | Unit | 32 | 42 | 10 |
| Happy Valley | Unit | 3 | 13 | 10 |
| Warnbro | Unit | 5 | 15 | 10 |
| Palmerston - North | Unit | 23 | 33 | 10 |
| Callala Bay - Currarong | Unit | 11 | 20 | 9 |
| Nunawading | Unit | 147 | 156 | 9 |
| Gawler - North | Unit | 9 | 18 | 9 |
| Green Valley | Unit | 9 | 17 | 8 |
| Lowood | Unit | 33 | 41 | 8 |
| Hillcrest | Unit | 18 | 26 | 8 |
| Kariong | Unit | 10 | 17 | 7 |
| Niddrie - Essendon West | Unit | 81 | 88 | 7 |
| Gladstone Park - Westmeadows | Unit | 23 | 30 | 7 |
| Telina - Toolooa | Unit | 51 | 58 | 7 |
| Romaine - Havenview | Unit | 22 | 29 | 7 |
| Maitland - North | Unit | 12 | 18 | 6 |
| Taree Region | Unit | 22 | 28 | 6 |
| Carrum Downs | Unit | 72 | 78 | 6 |
| Alexandra Hills | Unit | 49 | 55 | 6 |
| Mount Louisa | Unit | 10 | 16 | 6 |
| Mundingburra | Unit | 75 | 81 | 6 |
| Jingili | Unit | 11 | 17 | 6 |
| Condell Park | Unit | 51 | 56 | 5 |
| Wattle Glen - Diamond Creek | Unit | 14 | 19 | 5 |
| Keilor East | Unit | 95 | 100 | 5 |
| Oxenford - Maudsland | Unit | 18 | 23 | 5 |
| Ipswich - North | Unit | 13 | 18 | 5 |
| Kirwan - East | Unit | 79 | 84 | 5 |
| Collie | Unit | 22 | 27 | 5 |
| Baldivis | Unit | 9 | 14 | 5 |
| Narrogin | Unit | 19 | 24 | 5 |
| Delacombe | Unit | 15 | 19 | 4 |
| Rowville - Central | Unit | 51 | 55 | 4 |
| Darra - Sumner | Unit | 24 | 28 | 4 |
| Charles | Unit | 91 | 95 | 4 |
| Forde | Unit | 19 | 23 | 4 |
| West Hoxton - Middleton Grange | Unit | 19 | 22 | 3 |
| Falcon - Wannanup | Unit | 20 | 23 | 3 |
| Greenfields | Unit | 30 | 33 | 3 |
| Wanneroo | Unit | 21 | 24 | 3 |
| Cooloongup | Unit | 16 | 19 | 3 |
| Kambalda - Coolgardie - Norseman | Unit | 58 | 61 | 3 |
| Templestowe Lower | Unit | 59 | 61 | 2 |
| Collingwood Park - Redbank | Unit | 37 | 39 | 2 |
| Katanning | Unit | 25 | 27 | 2 |
| Somerset | Unit | 18 | 20 | 2 |
| Alexandra | Unit | 26 | 27 | 1 |
| Nuriootpa | Unit | 21 | 22 | 1 |
| Armadale - Wungong - Brookdale | Unit | 172 | 173 | 1 |
| Acton - Upper Burnie | Unit | 22 | 23 | 1 |
| Lawson | House | 60 | 82 | 22 |
| Melbourne | House | 73 | 82 | 9 |
Data prep focusing on monthly income generated on SA2 level.
Raw datasets consist of 359,300 properties and 6,547,439 monthly stats.
325,967 data points from before 2016-01-01 were excluded.
101,329 data points of listing_type “Shared room” and 2,304,488 data points of “Private room” were excluded.
480 records of 26 properties located in remote areas were excluded.
Next, 15,189 records of 847 properties located in 104 areas where no APM data is available
Next, 4,123 monthly records of 4,008 properties that had zero AUD income but some information in USD had income recalculated using 1.4 exchange rate.
Next, 3 monthly records of 3 properties that had missing AUD income but some information in USD had income recalculated using 1.4 exchange rate.
There are few ouliers in terms of monthly income
## # A tibble: 36 x 7
## property_id reporting_month reservation_days revenue_usd revenue_native
## <dbl> <date> <dbl> <dbl> <dbl>
## 1 6382471 2018-05-01 3 249 677160
## 2 6382471 2018-04-01 1 83 225720
## 3 14999741 2018-10-01 30 148560 209700
## 4 14999741 2018-05-01 27 146529 188730
## 5 14999741 2019-01-01 27 136782 188730
## 6 14999741 2018-07-01 26 134498 181740
## 7 14999741 2018-12-01 26 128206 181740
## 8 14999741 2019-02-01 26 129480 181740
## 9 4144830 2016-12-01 22 2196. 176347
## 10 14999741 2018-08-01 24 120648 167760
## # ... with 26 more rows, and 2 more variables: adr_usd <dbl>, adr_native <dbl>
From the top monthly income values (with income above $95k) data with very high AUD income were corrected using USD values.
One very high value was replaced to average ADR * booked days from previous & next month from the same property.
Three very high monthly values were recalculated from more realistic ADR (in USD) indicators.
Over third of monthly records is labelled as not active.
##
## active <lgl>
## # total N=3941540 valid N=3941540 mean=0.62 sd=0.49
##
## val frq raw.prc valid.prc cum.prc
## TRUE 2439163 61.88 61.88 61.88
## FALSE 1502377 38.12 38.12 100.00
## <NA> 0 0.00 NA NA
All of them were excluded. That also applied to records where there was some information about the revenue (either AUD or USD; n = 1,128) or number of available days was indicated to be > 0 (n = 448,859). For the former group, that could indicate some reshufling of money from previous months? For the latter group - this doesnt make sense but at least none of these records has any reservations and there are not much money involved.
628,370 records of 105,318 properties with missing info on revenue_native were recoded to zero.
| property_id | reporting_month | reservation_days | revenue_native |
|---|---|---|---|
| 12936 | 2016-01-01 | 12 | 3082.12 |
| 12936 | 2016-02-01 | 0 | NA |
| 12936 | 2016-03-01 | 0 | NA |
| 12936 | 2016-04-01 | 0 | NA |
| 12936 | 2016-05-01 | 0 | NA |
| 12936 | 2016-06-01 | 0 | NA |
| 12936 | 2016-07-01 | 0 | NA |
| 12936 | 2016-08-01 | 0 | NA |
| 12936 | 2016-09-01 | 0 | NA |
| 12936 | 2016-10-01 | 0 | NA |
| 12936 | 2016-11-01 | 0 | NA |
| 12936 | 2016-12-01 | 3 | 671.89 |
After correction it looks like:
| property_id | reporting_month | reservation_days | revenue_native |
|---|---|---|---|
| 12936 | 2016-01-01 | 12 | 3082.12 |
| 12936 | 2016-12-01 | 3 | 671.89 |
| 12936 | 2017-01-01 | 5 | 998.78 |
| 12936 | 2017-02-01 | 0 | 0.00 |
| 12936 | 2017-03-01 | 0 | 0.00 |
| 12936 | 2017-04-01 | 0 | 0.00 |
| 12936 | 2017-05-01 | 0 | 0.00 |
| 12936 | 2017-06-01 | 0 | 0.00 |
| 12936 | 2017-07-01 | 0 | 0.00 |
| 12936 | 2017-12-01 | 8 | 1208.80 |
| 12936 | 2018-01-01 | 14 | 1864.76 |
| 12936 | 2018-02-01 | 5 | 769.49 |
11,214 properties with 0 bedrooms were recoded to have 1 bedroom.
Analysed properties come in different flavours
##
## property_type <character>
## # total N=2439163 valid N=2439138 mean=35.49 sd=30.85
##
## val frq raw.prc valid.prc cum.prc
## Apartment 893883 36.65 36.65 36.65
## House 876897 35.95 35.95 72.60
## Townhouse 83286 3.41 3.41 76.01
## Cottage 70485 2.89 2.89 78.90
## Guest suite 68681 2.82 2.82 81.72
## Guesthouse 61447 2.52 2.52 84.24
## Entire apartment 48333 1.98 1.98 86.22
## Villa 46257 1.90 1.90 88.12
## Entire house 42642 1.75 1.75 89.86
## Cabin 41546 1.70 1.70 91.57
## Condominium 36773 1.51 1.51 93.08
## Bungalow 29406 1.21 1.21 94.28
## Serviced apartment 24898 1.02 1.02 95.30
## Farm stay 22305 0.91 0.91 96.22
## Loft 14413 0.59 0.59 96.81
## Chalet 12044 0.49 0.49 97.30
## Bed and breakfast 11074 0.45 0.45 97.75
## Place 6926 0.28 0.28 98.04
## Camper/RV 4739 0.19 0.19 98.23
## Tiny house 3368 0.14 0.14 98.37
## Entire townhouse 3174 0.13 0.13 98.50
## Earth house 2511 0.10 0.10 98.60
## Boat 2484 0.10 0.10 98.71
## Tent 2297 0.09 0.09 98.80
## Other 2179 0.09 0.09 98.89
## Vacation home 2167 0.09 0.09 98.98
## Entire villa 2014 0.08 0.08 99.06
## Bed & Breakfast 1855 0.08 0.08 99.14
## Barn 1525 0.06 0.06 99.20
## Entire place 1451 0.06 0.06 99.26
## Campsite 1396 0.06 0.06 99.32
## Entire cabin 1349 0.06 0.06 99.37
## Entire vacation home 1326 0.05 0.05 99.43
## Hut 1261 0.05 0.05 99.48
## Treehouse 1167 0.05 0.05 99.53
## Train 1024 0.04 0.04 99.57
## Entire bungalow 823 0.03 0.03 99.60
## Entire guesthouse 635 0.03 0.03 99.63
## Nature lodge 617 0.03 0.03 99.65
## Entire bed & breakfast 554 0.02 0.02 99.68
## Tipi 515 0.02 0.02 99.70
## Yurt 490 0.02 0.02 99.72
## Entire guest suite 472 0.02 0.02 99.74
## Island 417 0.02 0.02 99.75
## Entire chalet 378 0.02 0.02 99.77
## Resort 367 0.02 0.02 99.78
## Castle 358 0.01 0.01 99.80
## Room in aparthotel 340 0.01 0.01 99.81
## Entire loft 336 0.01 0.01 99.83
## Dome house 304 0.01 0.01 99.84
## Room in boutique hotel 300 0.01 0.01 99.85
## Entire condominium 269 0.01 0.01 99.86
## Entire tent 260 0.01 0.01 99.87
## Houseboat 241 0.01 0.01 99.88
## Entire camper/RV 218 0.01 0.01 99.89
## Entire serviced apartment 211 0.01 0.01 99.90
## Floor 206 0.01 0.01 99.91
## Cave 204 0.01 0.01 99.92
## Timeshare 177 0.01 0.01 99.92
## Home/apt 169 0.01 0.01 99.93
## Hostel 168 0.01 0.01 99.94
## Entire bed and breakfast 158 0.01 0.01 99.94
## Bed & Breakfast 148 0.01 0.01 99.95
## Bus 101 0.00 0.00 99.95
## Room in hotel 98 0.00 0.00 99.96
## Entire boat 91 0.00 0.00 99.96
## Entire boutique hotel 91 0.00 0.00 99.97
## Boutique hotel 90 0.00 0.00 99.97
## Igloo 80 0.00 0.00 99.97
## Entire in-law 65 0.00 0.00 99.98
## Entire nature lodge 64 0.00 0.00 99.98
## Lighthouse 64 0.00 0.00 99.98
## Dorm 51 0.00 0.00 99.98
## Entire earth house 51 0.00 0.00 99.98
## Earth House 47 0.00 0.00 99.99
## Entire cottage 39 0.00 0.00 99.99
## Entire tipi 38 0.00 0.00 99.99
## Entire yurt 38 0.00 0.00 99.99
## Entire Floor 32 0.00 0.00 99.99
## Casa particular 27 0.00 0.00 99.99
## Entire timeshare 27 0.00 0.00 99.99
## In-law 27 0.00 0.00 100.00
## Entire treehouse 24 0.00 0.00 100.00
## Entire dorm 19 0.00 0.00 100.00
## Room in heritage hotel (india) 18 0.00 0.00 100.00
## Plane 15 0.00 0.00 100.00
## Flat 11 0.00 0.00 100.00
## Entire cave 8 0.00 0.00 100.00
## Entire hut 3 0.00 0.00 100.00
## Pousada 1 0.00 0.00 100.00
## <NA> 25 0.00 NA NA
Classification of properties was simplified to house and apartment
| property_type | property_type_new |
|---|---|
| Apartment | Unit |
| House | House |
| Townhouse | House |
| Entire apartment | Unit |
| Bed and breakfast | NA |
| Guest suite | NA |
| Entire house | House |
| Guesthouse | House |
| Villa | House |
| Cottage | House |
| Private room in house | NA |
| Private room in apartment | NA |
| Condominium | Unit |
| Cabin | House |
| Bungalow | House |
| Serviced apartment | Unit |
| Farm stay | NA |
| Bed & Breakfast | NA |
| Loft | Unit |
| Chalet | House |
| Other | NA |
| Private room | NA |
| Room in boutique hotel | NA |
| Hostel | NA |
| Place | NA |
| Private room in townhouse | NA |
| Entire townhouse | House |
| Camper/RV | NA |
| Tent | NA |
| Bed & Breakfast | NA |
| Nature lodge | NA |
| Room in hotel | NA |
| Boat | NA |
| Vacation home | House |
| Private room in bed & breakfast | NA |
| Shared room in apartment | NA |
| Tiny house | NA |
| Entire villa | House |
| Earth house | NA |
| Resort | NA |
| Dorm | NA |
| Entire place | NA |
| Entire vacation home | House |
| Entire cabin | House |
| Room in aparthotel | NA |
| Private room in bed and breakfast | NA |
| Campsite | NA |
| Shared room in house | NA |
| Private room in villa | NA |
| Hut | House |
| Treehouse | NA |
| Barn | House |
| Private room in guest suite | NA |
| Camper/rv | NA |
| Entire bungalow | House |
| Private room in guesthouse | NA |
| Boutique hotel | NA |
| Entire guesthouse | House |
| Tipi | NA |
| Train | NA |
| Private room in condominium | NA |
| Entire guest suite | NA |
| Entire condominium | Unit |
| Yurt | NA |
| Entire bed & breakfast | NA |
| Castle | House |
| Shared room | NA |
| Private room in boutique hotel | NA |
| Island | NA |
| Entire chalet | House |
| Entire serviced apartment | Unit |
| Entire loft | Unit |
| Private room in cabin | NA |
| Entire camper/RV | NA |
| Private room in hostel | NA |
| Dome house | House |
| Private room in bungalow | NA |
| Floor | NA |
| Timeshare | NA |
| Private room in dorm | NA |
| Entire tent | NA |
| Shared room in dorm | NA |
| Private room in serviced apartment | NA |
| Shared room in townhouse | NA |
| Earth House | NA |
| Entire Floor | NA |
| Shared room in hostel | NA |
| Private room in loft | NA |
| Cave | NA |
| Houseboat | NA |
| Private room in vacation home | NA |
| Private room in camper/rv | NA |
| Entire boat | NA |
| Shared room in condominium | NA |
| Entire bed and breakfast | NA |
| Shared room in villa | NA |
| Private room in tent | NA |
| Entire boutique hotel | NA |
| Home/apt | NA |
| Casa particular (cuba) | House |
| Private room in boat | NA |
| Igloo | NA |
| Shared room in loft | NA |
| Private room in nature lodge | NA |
| Entire timeshare | NA |
| In-law | NA |
| Entire in-law | NA |
| Shared room in guesthouse | NA |
| Bus | NA |
| Shared room in bed & breakfast | NA |
| Entire nature lodge | NA |
| Private room in chalet | NA |
| Lighthouse | NA |
| Entire cottage | House |
| Entire earth house | NA |
| Parking Space | NA |
| Entire tipi | NA |
| Entire dorm | NA |
| Entire yurt | NA |
| Entire treehouse | NA |
| Private room in hut | NA |
| Casa particular | House |
| Hotel | NA |
| Private room in earth house | NA |
| Shared room in guest suite | NA |
| Private room in timeshare | NA |
| Room in heritage hotel (india) | NA |
| Private room in cottage | NA |
| Private room in heritage hotel (india) | NA |
| Private room in yurt | NA |
| Shared room in nature lodge | NA |
| Private room in treehouse | NA |
| Aparthotel | NA |
| Private room in in-law | NA |
| Private room in farm stay | NA |
| Shared room in bed and breakfast | NA |
| Shared room in tipi | NA |
| Shared room in tent | NA |
| Private room in floor | NA |
| Plane | NA |
| Flat | Unit |
| Shared room in vacation home | NA |
| Shared room in boutique hotel | NA |
| Private room in island | NA |
| Shared room in boat | NA |
| Shared room in cottage | NA |
| Van | NA |
| Entire cave | NA |
| Private room in parking space | NA |
| Ryokan (japan) | NA |
| Private room in tipi | NA |
| Entire hut | House |
| Heritage hotel (india) | NA |
| Minsu (taiwan) | NA |
| Shared room in camper/rv | NA |
| Private room in aparthotel | NA |
| Private room in castle | NA |
| Private room in tiny house | NA |
| Pousada | NA |
| Shared room in cave | NA |
| Shared room in serviced apartment | NA |
| Shared room in in-law | NA |
| Trullo (italy) | NA |
140,643 ambiguous/imprecise monthly records of 9,959 properties were excluded
##
## property_type <character>
## # total N=2298520 valid N=2298520 mean=1.44 sd=0.50
##
## val frq raw.prc valid.prc cum.prc
## House 1279393 55.66 55.66 55.66
## Unit 1019127 44.34 44.34 100.00
## <NA> 0 0.00 NA NA
Final dataset consists of 2,298,520 monthly records of 202,862 properties in 2,040 SA2 areas.
property_type vs bedroomsProperties in Airbnb and APM come in different sizes. It is possible to investigate it in the former dataset but not the latter. This might be potential weakness since the rents & ADR must be somehow realted to size.
| bedrooms | House | Unit | Total |
|---|---|---|---|
| 1 | 13% (12777) | 46% (46259) | 29% (59036) |
| 2 | 22% (22884) | 44% (44107) | 33% (66991) |
| 3 | 35% (35285) | 9% (9482) | 22% (44767) |
| 4 | 22% (22347) | 1% (927) | 11% (23274) |
| 5 | 6% (6422) | 0% (121) | 3% (6543) |
| 6 | 1% (1456) | 0% (47) | 1% (1503) |
| 7 | 0% (386) | 0% (13) | 0% (399) |
| 8 | 0% (142) | 0% (3) | 0% (145) |
| 9 | 0% (51) | 0% (3) | 0% (54) |
| 10 | 0% (54) | 0% (6) | 0% (60) |
| 11 | 0% (7) | 0% (0) | 0% (7) |
| 12 | 0% (7) | 0% (0) | 0% (7) |
| 13 | 0% (3) | 0% (0) | 0% (3) |
| 14 | 0% (7) | 0% (1) | 0% (8) |
| 15 | 0% (3) | 0% (1) | 0% (4) |
| 16 | 0% (1) | 0% (0) | 0% (1) |
| 19 | 0% (1) | 0% (0) | 0% (1) |
| 20 | 0% (2) | 0% (0) | 0% (2) |
| 22 | 0% (1) | 0% (0) | 0% (1) |
| 26 | 0% (1) | 0% (0) | 0% (1) |
| 30 | 0% (0) | 0% (1) | 0% (1) |
| NA | 0% (20) | 0% (34) | 0% (54) |
| Total | 100% (101857) | 100% (101005) | 100% (202862) |
Locations of Airbnb properties (points) were linked to ABS data of SA2 areas from 2016. Spatial join in ArcGIS was used with CLOSEST option to capture locations that did not overlap with polygons (see example here https://www.airbnb.com/rooms/19103554 - due to privacy reasons, locations are not exact).
248 SA2s (out of 2288) have no Airbnbs inside.
Few of this areas have some info in APM data.
Houses (n = 53):
Units (n = 25):
Supply & income of Airbnbs inside these areas will be later fixed to zero.
Each property has a ‘trajectory’ of income data. But not all properties have info on all months.. therefore not all SA2s will have income info for all months..
Such coverage issue also applies to ADR.
Note that when income is 0 AUD, ADR is (obviously) missing!
Individual properties’ ADR with smoothed trend:
Monthly aggregated data with monthly medians of ADR:
Areas where no income was reported during specific reporting month had those months filled with 0 AUD.
Result is in the form of ‘income curves’ with 97767 data points of Airbnb revenue for 2288 areas.
Not all SA2s have information for all months. 16,582 of the records (17%) have missing information on monthly median ADR.
There are 79 SA2 areas that do not have any Airbnb data for houses
These areas are excluded.
There are 277 SA2 areas that do not have any Airbnb data for units
These areas are excluded.
There are 242 SA2 areas that have missing 12 or more months of Airbnb data or have 6 or more consecutive months of Airbnb data missing for houses
These areas are excluded.
There are 217 SA2 areas that have missing 12 or more months of Airbnb data or have 6 or more consecutive months of Airbnb data missing for units
These areas are excluded.
There are 120 SA2 areas that have some missing Airbnb data for houses
These areas have data imputed.
There are 95 SA2 areas that have some missing Airbnb data for units
These areas have data imputed.
Data imputed using Stineman interpolation using na_interpolation function from imputeTS package.
Unit
House
State on 2016-12-01 vs 2019-02-01 houses
State on 2016-12-01 vs 2019-02-01 units
## used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 3863322 206.4 7171400 383.0 7171400 383.0
## Vcells 66402005 506.7 187470928 1430.3 593047525 4524.6
Denomionator for the following two measures was derived from ABS data described above.
Note that this denominator is a ‘static’ variable without temporal variation.
This is naive indicator that takes into account all active properties listed in given month in SA2 irrespectively if they were used or not. Example of one area values
Areas where no properties were listed during specific reporting month had those months filled with 0. Relative measure for each month was calculated using number of properties (numerator) and ABS Census stocks of given property type (denominator).
Areas with zero stocks of listings had this measure fixed to zero.
Areas with zero stocks of census properties and any number of propoerties had this measure fixed to missing.
Result is in the form of ‘supply curves’ with 106628 data points of Airbnb counts for 2288 areas.
Unit
House
State on 2019-02-01
Unit
House
State on 2019-02-01
‘No numbers’ of relative supply, Airbnb supply > 0, ABS stock == 0
‘Large numbers’ relative supply of >= 1, ABS stock > 0
‘Normal numbers’ relative supply of < 1, ABS stock > 0
This is a bit more elaborate indicator that takes into account all active properties listed in given month in SA2 and uses their available_days as measure.
Areas where no properties were listed during specific reporting month had those months filled with 0. Relative measure for each month was calculated using number of available_days (numerator) and ABS Census stocks of given property type multiplied by number of days in a given month (denominator).
Areas with zero stocks of census properties and zero propoerties had this measure fixed to zero.
Areas with zero stocks of census properties and any number of propoerties had this measure fixed to missing.
Result is in the form of ‘GNO curves’ with 106628 data points of Airbnb counts for 2288 areas.
Unit
House
State on 2019-02-01
Unit
House
State on 2019-02-01
‘No numbers’ of relative supply, Airbnb supply > 0 ABS stock == 0
‘Large numbers’ relative supply of >= 1, ABS stock > 0
‘Normal numbers’ relative supply of < 1, ABS stock > 0
This is again bit more elaborate indicator that takes into account all active properties listed in given month in SA2 and uses their reservation_days as measure.
Number of reservation days:
Areas where no properties were listed during specific reporting month had those months filled with 0.
Relative measure for each month was calculated using number of reservation_days (numerator) and ABS Census stocks of given property type multiplied by number of days in a given month (denominator).
Areas with zero stocks of census properties and zero propoerties had this measure fixed to zero.
Areas with zero stocks of census properties and any number of propoerties had this measure fixed to missing.
Result is in the form of ‘GNO curves’ with 106628 data points of Airbnb counts for 2288 areas.
Unit
House
State on 2019-02-01
Unit
House
State on 2019-02-01
‘No numbers’ of relative supply, demand_days> 0 & ABS stock == 0
‘Large numbers’ relative supply of >= 1, ABS stock > 0
‘Normal numbers’ relative supply of < 1, ABS stock > 0
## R version 3.6.1 (2019-07-05)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 18362)
##
## Matrix products: default
##
## locale:
## [1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252
## [3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
## [5] LC_TIME=English_Australia.1252
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] naniar_0.4.2 kableExtra_1.1.0 sjmisc_2.8.2 summarytools_0.9.4
## [5] skimr_1.0.7 ggridges_0.5.1 tmaptools_2.0-2 tmap_2.3-1
## [9] sf_0.8-0 imputeTS_3.0 janitor_1.2.0 readxl_1.3.1
## [13] scales_1.1.0 lubridate_1.7.4 magrittr_1.5 forcats_0.4.0
## [17] stringr_1.4.0 dplyr_0.8.3 purrr_0.3.3 readr_1.3.1
## [21] tidyr_1.0.0 tibble_2.1.3 ggplot2_3.2.1 tidyverse_1.2.1
## [25] pacman_0.5.1
##
## loaded via a namespace (and not attached):
## [1] colorspace_1.4-1 pryr_0.1.4 ellipsis_0.3.0
## [4] class_7.3-15 visdat_0.5.3 sjlabelled_1.1.1
## [7] leaflet_2.0.3 rgdal_1.4-7 rprojroot_1.3-2
## [10] snakecase_0.11.0 dichromat_2.0-0 rstudioapi_0.10
## [13] farver_2.0.1 fansi_0.4.0 xml2_1.2.2
## [16] splines_3.6.1 codetools_0.2-16 knitr_1.26
## [19] zeallot_0.1.0 jsonlite_1.6 broom_0.5.2
## [22] rgeos_0.5-2 shiny_1.4.0 compiler_3.6.1
## [25] httr_1.4.1 backports_1.1.5 Matrix_1.2-17
## [28] assertthat_0.2.1 fastmap_1.0.1 lazyeval_0.2.2
## [31] cli_1.1.0 later_1.0.0 leaflet.providers_1.9.0
## [34] htmltools_0.4.0 tools_3.6.1 gtable_0.3.0
## [37] glue_1.3.1 Rcpp_1.0.3 cellranger_1.1.0
## [40] fracdiff_1.4-2 raster_3.0-7 vctrs_0.2.0
## [43] urca_1.3-0 nlme_3.1-140 leafsync_0.1.0
## [46] crosstalk_1.0.0 insight_0.7.0 lmtest_0.9-37
## [49] timeDate_3043.102 lwgeom_0.1-7 xfun_0.11
## [52] rvest_0.3.5 mime_0.7 lifecycle_0.1.0
## [55] XML_3.98-1.20 zoo_1.8-6 hms_0.5.2
## [58] promises_1.1.0 parallel_3.6.1 RColorBrewer_1.1-2
## [61] yaml_2.2.0 quantmod_0.4-15 curl_4.2
## [64] pander_0.6.3 stringi_1.4.3 highr_0.8
## [67] tseries_0.10-47 e1071_1.7-2 checkmate_1.9.4
## [70] TTR_0.23-5 rlang_0.4.1 pkgconfig_2.0.3
## [73] bitops_1.0-6 matrixStats_0.55.0 evaluate_0.14
## [76] lattice_0.20-38 labeling_0.3 rapportools_1.0
## [79] stinepack_1.4 htmlwidgets_1.5.1 tidyselect_0.2.5
## [82] plyr_1.8.4 R6_2.4.1 magick_2.2
## [85] generics_0.0.2 DBI_1.0.0 mgcv_1.8-28
## [88] pillar_1.4.2 haven_2.2.0 withr_2.1.2
## [91] units_0.6-5 xts_0.11-2 RCurl_1.95-4.12
## [94] sp_1.3-2 nnet_7.3-12 modelr_0.1.5
## [97] crayon_1.3.4 utf8_1.1.4 KernSmooth_2.23-15
## [100] rmarkdown_1.17 grid_3.6.1 webshot_0.5.1
## [103] forecast_8.9 digest_0.6.22 classInt_0.4-2
## [106] xtable_1.8-4 httpuv_1.5.2 munsell_0.5.0
## [109] viridisLite_0.3.0 tcltk_3.6.1 quadprog_1.5-7